import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: xiaotutu
 * Date: 2024-01-13
 * Time: 17:03
 */
public class Test {

    //实现一个方法 printArray, 以数组为参数, 循环访问数组中的每个元素, 打印每个元素的值.

    public static void printArray(int[] array) {
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }
    }
    public static void main(String[] args) {
        int[] array = new int[]{1,2,3};
        printArray(array);
    }

    //创建一个 int 类型的数组, 元素个数为 100, 并把每个元素依次设置为 1 - 100
    public static void main15(String[] args) {
        int[] array = new int[100];

        for (int i = 0; i < 100; i++) {
            array[i] = i+1;
        }
    }


    //创建方法求两个数的最大值max2，随后再写一个求3个数的最大值的函数max3。

    //要求：在max3这个函数中，调用max2函数，来实现3个数的最大值计算

    public static int max2(int a,int b) {
        return (a>b? a: b);
    }

    public static int max3(int a,int b,int c) {
        int d = a>b?a:b;
        return c>d? c:d;
    }

    public static int fib(int n) {
        if(n == 1 || n == 2){
            return 1;
        }
        int f1 = 1;
        int f2 = 1;
        int f3 = 0;
        for (int i = 3; i <= n; i++) {
            f3 = f1 + f2;
            f1 = f2;
            f2 = f3;
        }
        return f3;
    }


    public static void main14(String[] args) {
        System.out.println(fib(6));
    }

    //求1！+2！+3！+4！+........+n!的和
    public static void main13(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int sum = 0;
        int ret = 1;
        for (int i = 1; i <= n; i++) {
            ret *= i;
            sum += ret;
        }
        System.out.println(sum);
    }

    //求 N 的阶乘  。
    public static void main12(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int ret = 1;
        for (int i = 1; i <= n; i++) {
            ret *= i;
        }
        System.out.println(ret);
    }

    public static void main11(String[] args) {
        System.out.println(max3(1, 4, 6));
    }

    public static void main10(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if(i == j) {
                    System.out.print("*");
                }else if(i+j== n-1){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
    }

    //计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
    public static void main9(String[] args) {
        double sum = 0.0;
        int flag = 1;
        for (int i = 1; i <= 100; i++) {
            sum += (1.0/i)*flag;
            flag = -flag;
        }
        System.out.println(sum);
    }

    //获取一个数二进制序列中所有的偶数位和奇数位， 分别输出二进制序列
    public static void main8(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        for (int i = 31; i >= 1 ; i-=2) {
            System.out.print(((n>>i) & 1 )+ " ");
        }
        System.out.println();
        for (int i = 30; i >= 0 ; i-=2) {
            System.out.print(((n>>i) & 1) + " ");
        }
    }

    //编写代码模拟三次密码输入的场景。 最多能输入三次密码，密码正确，提示“登录成功”,密码错误，
    // 可以重新输入，最多输入三次。三次均错，则提示退出程序
    public static void main7(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int count = 3;
        while(count != 0) {
            System.out.println("请输入密码: ");
            String password = scanner.nextLine();
            if(password.equals("123")) {
                System.out.println("登录成功!");
                break;
            }else {
                count--;
                System.out.println("密码错误,你还有" + count + "次机会");
            }
        }

    }

    //输出一个整数的每一位，如：123的每一位是3，2，1
    public static void main6(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        while(n !=0) {
            System.out.println(n%10);
            n /= 10;
        }
    }

    //输出n*n的乘法口诀表，n由用户输入。
    public static void main5(String[] args) {
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j+ "*" + i + "==" + i*j + " ");
            }
            System.out.println();
        }
    }

    //编写程序数一下 1到 100 的所有整数中出现多少个数字9
    public static void main4(String[] args) {
        int count = 0;
        for (int i = 1; i <= 100; i++) {
            if(i % 10 == 9) {
                count++;
            }
            if(i / 10 == 9) {
                count++;
            }
        }
        System.out.println(count);
    }
    //输出 1000 - 2000 之间所有的闰年
    public static void main3(String[] args) {
        for (int y = 1000; y <= 2000; y++) {
            if(y % 400 == 0) {
                System.out.println(y);
            }else {
                if (y % 4 == 0) {
                    if (y % 100 != 0) {
                        System.out.println(y);
                    }
                }
            }
        }
    }

    //打印 1 - 100 之间所有的素数
    public static void main2(String[] args) {

        for(int i = 1; i <= 100; i++) {
            int j;
            for(j = 2; j <= Math.sqrt(i); j++) {
                if(i % j == 0) {
                    break;
                }
            }
            if(j > Math.sqrt(i)) {
                System.out.println(i);
            }
        }
    }

    //给定一个数字，判定一个数字是否是素数
    public static void main1(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int i;
        for(i = 2; i <= Math.sqrt(n); i++) {
            if(n % i == 0) {
                break;
            }
        }
        if(i > Math.sqrt(n)) {
            System.out.println(n + " 是素数!");
        }
    }
}
